package com.enjoyor.soa.traffic.api.service.dubbo;

import com.enjoyor.soa.traffic.api.dto.EventInfoDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * @author 周宏伟
 * @date 2017年4月22日
 * @email zhouhongwei@enjoyor.net
 * @description 事件信息服务
 */

public interface DubboEventService {
	/**
	 * 新增事件
	 * 
	 * @param eventInfoDo
	 *            事件对象
	 * @return
	 */
	public ResultPojo add(String token, EventInfoDto eventInfoDo);

	/**
	 * 更新事件
	 * 
	 * @param eventInfoDo
	 *            事件对象
	 * @return
	 */
	public ResultPojo update(String token, EventInfoDto eventInfoDo);

	/**
	 * 完结事件
	 * 
	 * @return
	 */
	public ResultPojo finish(String token, String eventId);

	/**
	 * 获取事件列表
	 * 
	 * @return
	 */
	public ResultPojo get(String token, String eventId, String regionId, String deptId, String sourceId, String typeId,
			String formId, String levelId, String address, String content, String statusId, String eventStartTime,
			String eventEndTime);

	/**
	 * 获取事件分页列表
	 * 
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public ResultPojo getPage(String token, String eventId, String regionId, String deptId, String sourceId,
			String typeId, String formId, String levelId, String address, String content, String statusId,
			String eventStartTime, String eventEndTime, Page page, String pageType);

	/**
	 * @Title: saveEventPlanRlt @Description: TODO(保存事件关联预案) @param token令牌 @param
	 *         eventId事件编号 @param planId预案编号 @param planName预案名称 @param
	 *         lon事件经度 @param lat事件纬度 @return @throws
	 */
	public ResultPojo saveEventPlanRlt(String token, String eventId, String planId, String planName, double lon,
			double lat);

	/**
	 * 
	 * @Title: deleteEventPlanRlt @Description: TODO(删除事件关联预案) @param token令牌 @param
	 *         eventId事件编号 @param planId预案编号 @return @throws
	 */
	public ResultPojo deleteEventPlanRlt(String token, String eventId, String planId);

	/**
	 * @Title: listEventPlanRlt @Description: TODO(查询事件关联预案列表) @param
	 *         eventId事件编号 @param planId预案编号 @param valid是否有效 @return @throws
	 */
	public ResultPojo listEventPlanRlt(String token, String eventId, String planId, String valid);
}
